#pragma once
#ifndef ELEMENT_DAO_H_
#define ELEMENT_DAO_H_

#include <list>
#include <string>
#include <map>

#include "Element.h"
#include "NoSuchElementException.h"
#include "PersistenceUniqueConstraintException.h"

using namespace std;

class ElementDao {	

public:

	ElementDao(void);	
	~ElementDao(void);

	void save(Element * object);
	Element * find(string id);
	list<Element*> findAll(void);
	void deleteObject(Element * objectToDelete);

private:

	map<string,Element*> * db;

};

#endif /* ELEMENT_DAO_H_ */